package com.java.yz.day11.ketang;

import java.util.ArrayList;
import java.util.Iterator;

/*
    即使集合可以存储任意的引用数据类型元素，我们今后也不这样做，一个集合只存储一种数据类型的元素
    回想一下，我们之前学习数组的时候，为什么同一个数组只能存储同一种数据类型
    int[] a = new int[];

    如果我们创建一个集合的时候，也可以向数组那样明确元素的数据类型就好了，那么如何在创建对象的过程中明确存储的元素类型呢？
    这时候java就提供了一个机制：泛型机制
    泛型语句定义的格式：  < 只能存储引用数据类型>

    泛型的好处：
        1.明确的规定了一个集合只能存储某一种数据类型
        2.无需做向下转型
        3.去掉了许多的黄色警告，让程序看起来更加的和谐
 */
public class ArrayListDemo3 {
    public static void main(String[] args) {
        ArrayList<String> arrayList1=new ArrayList<>(); //这样就明确了该集合只能存放字符串类型的数据
        arrayList1.add("hello");//添加元素时也只能添加字符串元素
        arrayList1.add("world");
        Iterator<String> iterator = arrayList1.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);  //这样整个程序看起来很和谐
        }
    }
}
